package com.ljy.config;

import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class AppMyInterceptor implements HandlerInterceptor {

    /**
     * return true;   执行了下一个拦截器，放行
     * return false; 不执行了下一个拦截器
     *
     * @param request
     * @param response
     * @param handler
     * @return
     * @throws Exception
     */
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("================处理前===========================");

        //获取session
        HttpSession session = request.getSession();

        //登录页面也要放行
        if (request.getRequestURI().contains("/login")) {
            System.out.println("=============放行了登录页面========================");
            return true;//放行
        }

        if (request.getRequestURI().contains("/Backendlogin")) {
            System.out.println("==============放行了");
            return true;

        }

        //放行：判断什么情况下登录  //判断登录的用户名是否为空
        //第一次登录，也是没有session的
        if (session.getAttribute("userNames") != null) {
            System.out.println("===================放行了session不为空时========================");
            return true;//放行
        }


        //判断什么情况下没有登录

        response.sendRedirect("/app/login");//如果没有登录重定向到登录页面
        return false;
    }

}
